<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /* 
            解析器在调用函数每次都会向函数内部传递一个隐含的参数，
            这个隐含的参数就是this,this指向的是一个对象
            这个对象我们称为函数执行的上下文对象
            根基函数调用方式的不同，this会指向不同的对象
                1.以函数方式的形式调用时，this 永远都指向window
                2.以方法的形式调用时，this指向调用它的对象
        */
       function fun(){
           //console.log("a="+a,"b="+b);
           console.log(this.name);
       }
       fun();
       //创建一个对象
       var obj={
           name:"孙悟空",
           sayName:fun
       };
       var obj2={
           name:"沙和尚",
           sayName:fun

       }
    //    console.log(obj.sayName==fun);
        var name="全局的name属性"
       //obj2.sayName();
       //以函数形式调用，this是window
       //fun();
       //以方法的形式调用，this是调用方法的对象
       //obj.sayName();
       obj2.sayName();

    
    </script>
</head>
<body>
    
</body>
</html>